In recent years, a cellular phone as an information processing apparatus is equipped with not only a simple communication function through telephone calls, but also with various functions, such as an address book function, a mail function through a network such as a base station and the Internet, and a browser function that allows browsing Web pages and the like.
Accordingly, a multithread system is proposed not only in, for example, a personal computer, but also in a cellular phone. The multithread system includes a TSS (Time Sharing System) control function in an OS (Operating System) and concurrently executes processes of a plurality of threads within the same process, while sharing resources such as a control memory space and an I/O space (see, for example, Patent Document 1).
According to the technique proposed in Patent Document 1, a process of a call processing event can be executed by using a CPU to the fullest extent without depending on the implementation of a TSS scheduler of an OS.
Patent Document 1: Japanese Patent Laid-Open No. 2006-185303
However, in an OS environment not equipped with a round-robin function or a TSS control function, generated events are generally processed according to the priority of the generated event-driven threads. If some threads occupy the resources of the CPU, there is a situation in which processes of other threads are not executed.
More specifically, if processes between threads with high priority are consecutively executed, a plurality of threads with high priority occupy the resources of the CPU, and the resources of the CPU are not provided to the threads with low priority. As a result, there is a situation in which processes of the threads with low priority are not executed. Therefore, there was a problem that the processes of the threads with low priority were accumulated, and the system collapsed.
The technique proposed in Patent Document 1 cannot solve such a problem.